package day02;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

//数据类型的演示
public class DataTypeDemo {
    public static void main(String[] args) {

        //类型
        byte b1=5;
        byte b2=6;
        byte b3=(byte)(b1+b2);

        System.out.println(2+2);//4
        System.out.println(2+'2');//52,2加上‘2’的50
        System.out.println('2'+'2');/* 100,'2'的码50，加上‘2’的码50
        
        /*

        int a =5;
        long b=a;//自动类型转换
        int c=(int)b;//强制类型转换
        long d=5;//自动类型转换
        double e=5;//自动类型转换

        long f=10000000000L;
        int g=(int)f;
        System.out.println(g);//1410065408，强制转换可能发生溢出
        double h=25.987;
        int i=(int)f;
        System.out.println(i);//25.强制转换有可能丢失精度




         */
        /*
        //5）char：字符型，两个字节
        char ci='女';//字符女
        char c2='f';//字符f
        char c3='6';//字符6
        char c4='*';//字符*

        //char c5=女；//编译错误，字符型直接量必须放在单引号中
        //char c6=';//编译错误，必须有字符
        //char c7='10';//编译错误，只能有一个字符

        char c8='\'';//特殊字符必须加转译符\
        System.out.println(c8);//'
        System.out.println(c3);


         */


        /*
        //4)boolean:布尔型，1个字节
        boolean bi=true;//true为布尔型直接量
        boolean b2=false;//false为布尔型直接量
        //boolean b3=25;//编译错误，只能赋值为true或false


         */

        /*
        //3）double：浮点型，8个字节，很大很大
        double a=3.14;//3.14为浮点数直接量，默认double型
        float b=3.14F;//3.14F为flout型直接量

        double c=6.0,d=1.9;
        System.out.println(c-d);//有可能发生舍入误差
        float N=5.1F ,M=3.9F;
        System.out.println(N-d);//有可能发生舍入误差

         */



        /*
        //2)long:长整型，8个字节，很大很大
        long a=25L;
        //long b=10000000000;//编译错误，100亿默认为int类型，但是超出int范围了
        long c=10000000000l;//100L为长整型直接量

        long d=1000000000*2*10L;
        System.out.println(d);//200亿
        long e=1000000000*3*10L;
        System.out.println(e);//不足300亿
        long f=1000000000L*3*10;
        System.out.println(f);//300亿
        */


        /*
        //1）int:整型，4个字节，变量赋值-21个亿到21个亿
        int a=25;//25为整数直接量
        //int b=10000000000;//编译错误，100亿默认为int类型，单超出int范围
        //int c=3.14;//编译错误，整型只能装整数

        System.out.println(5/2);//2
        System.out.println(2/5);//0
        System.out.println(5/2.0);//2.5




        /*
        int a=-2147483648;
        a=a-(-2147483648);
        System.out.println(a);

         */
    }
}
